// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:24

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   rn.java

package com.zelix;

import java.util.*;

// Referenced classes of package com.zelix:
//            qm, hn, kn, mn, 
//            ux, wn, du

public final class rn
{

    private qm a;
    private ArrayList b;

    public rn(qm qm1)
    {
        a = qm1;
        b = new ArrayList(qm1.d().size());
    }

    public void a(HashSet hashset)
    {
        b.add(hashset);
    }

    public HashSet a(int i)
    {
        return (HashSet)b.get(i);
    }

    HashSet b(int i)
    {
        return (HashSet)b.get(i);
    }

    public boolean a()
    {
        Iterator iterator;
        boolean flag;
        flag = wn.C;
        if(b.size() < a.d().size() + (a.a() ? 1 : 0))
            return false;
        iterator = b.iterator();
        if(!flag) goto _L2; else goto _L1
_L1:
        Iterator iterator1;
        HashSet hashset = (HashSet)iterator.next();
        HashSet hashset1 = hashset;
        iterator1 = hashset.iterator();
        if(!flag) goto _L4; else goto _L3
_L3:
        kn kn1 = (kn)iterator1.next();
        if(!kn1.f())
            return false;
_L4:
        if(iterator1.hasNext()) goto _L3; else goto _L2
_L2:
        if(!iterator.hasNext())
            return true;
        if(true) goto _L1; else goto _L5
_L5:
    }

    public void a(HashMap hashmap, ux ux1, du du)
    {
        Iterator iterator;
        boolean flag;
        flag = wn.C;
        ArrayList arraylist = (ArrayList)b.clone();
        iterator = arraylist.iterator();
        if(!flag) goto _L2; else goto _L1
_L1:
        HashSet hashset;
        Iterator iterator1;
        hashset = (HashSet)iterator.next();
        HashSet hashset1 = (HashSet)hashset.clone();
        iterator1 = hashset1.iterator();
        if(!flag) goto _L4; else goto _L3
_L3:
        kn kn1 = (kn)iterator1.next();
        if(!kn1.e())
            continue; /* Loop/switch isn't completed */
        if(kn1 instanceof hn)
        {
            hn hn1 = (hn)kn1;
            hn1.a(hashmap, ux1, du);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(kn1 instanceof mn)
        {
            mn mn1 = (mn)kn1;
            if(mn1.g() == du)
            {
                rn rn1 = (rn)hashmap.get(ux1.a(kn1.c()));
                if(rn1 != null)
                {
                    HashSet hashset2 = (HashSet)rn1.b.get(0);
                    hashset.remove(kn1);
                    hashset.addAll(hashset2);
                }
            }
        }
_L4:
        if(iterator1.hasNext()) goto _L3; else goto _L2
_L2:
        if(!iterator.hasNext())
            return;
        if(true) goto _L1; else goto _L5
_L5:
    }

    public int b()
    {
        return b.size();
    }
}